package org.example.memora.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.LocalDateTime;

@Data
@TableName("posts")
public class Post {

    /**
     * 帖子唯一标识
     */
    @TableId(value = "post_id", type = IdType.AUTO)
    private String postId;

    /**
     * 发布者用户ID（关联用户表）
     */
    private Integer userId;

    /**
     * 帖子标题
     */
    private String title;

    /**
     * 帖子正文内容（预计小于200中文字符）
     */
    private String content;

    /**
     * 封面图片URL
     */
    private String coverUrl;

    /**
     * 媒体URL列表（图片或视频，使用JSON格式存储）
     */
    private String mediaUrls;

    /**
     * AI文本摘要
     */
    private String summary;

    /**
     * 帖子分类ID
     */
    private Integer categoryId;

    /**
     * 帖子状态 (1-正常, 0-隐藏, -1-封禁)
     */
    private Integer status;

    /**
     * 笔记类型（0：图片, 1：视频）
     */
    private Integer noteType;

    /**
     * 点赞次数
     */
    private Long likeCount;

    /**
     * 收藏次数
     */
    private Long collectionCount;

    /**
     * 评论次数
     */
    private Long commentCount;

    /**
     * 浏览次数
     */
    private Long viewCount;

    /**
     * 是否置顶，0：未置顶，1：置顶
     */
    private Integer pinned;

    /**
     * 图片数量
     */
    private Integer count;

    /**
     * 发布时间
     */
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    private LocalDateTime updatedAt;

    /**
     * 逻辑删除标志，0：正常，1：已删除
     */
    @TableLogic
    private Integer isDeleted;
}